//解析歌词的工具函数
const parseExp = /\[(\d{2}):(\d{2})\.(\d{2,3})\]/;
export function parseLyric(lyricString: string): MUSIC.LyricListType[] {
  const lineStrings = lyricString.split('\n');
  const lyrics = [];
  for (const line of lineStrings) {
    //如果有值
    if (line) {
      const reslut = parseExp.exec(line);
      //当返回值跟我们预想的不一样时判断是否通过了正则验证 没有的话就跳过这一次循环执行下一次循环再判断 防止报错
      if (!reslut) continue;
      const time1 = reslut[1] * 60 * 1000; //分钟
      const time2 = reslut[2] * 1000; //秒
      const time3 = reslut[3].length === 3 ? reslut[3] * 1 : reslut[3] * 10; //毫秒
      const time = time1 + time2 + time3;
      //文本替换 可以传递两个参数第一个可以是值也可以是正则表达式
      const content = line.replace(parseExp, '').trim();
      const lineObj = { time, content };
      lyrics.push(lineObj);
    }
  }
  return lyrics;
}
